package com.hang.service;

import com.hang.entity.Task;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hang.model.dto.base.ConditionDTO;
import com.hang.model.dto.request.*;
import com.hang.model.vo.TaskInfoDetailVO;
import com.hang.model.vo.TaskInfoVOList;

import java.util.List;

/**
 *
 */
public interface ITaskService extends IService<Task> {

    //发布任务
    void publishTask(TaskModelReq taskModelReq);

    //任务大厅查看未被接单的任务列表
    TaskInfoVOList getIncompleteTaskInHall(ItemConditionDTO conditionDTO);

    //按条件搜索我的任务
    TaskInfoVOList getTaskListByCondition(TaskConditionDTO taskConditionDTO);

    //更新任务
    void updateTask(TaskModelReq taskModelReq);

    //批量删除任务
    void deleteTaskList(TaskDeleteDTO taskDeleteDTO);

    //查询任务详情
    TaskInfoDetailVO getDetail(Long taskId);

    //修改任务状态[处理任务]
    void updateTaskStatus(TaskUpdateReq taskUpdateReq);

    //任务接单
    void receivingTask(TaskReceiveDTO taskReceiveDTO);

    //查询解决时间为14天前的已完成的任务
    List<Task> getFinishTaskIdList();
}
